c concepts explained